package com.ce.tag;

import java.io.IOException;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

import com.ce.framework.util.StringUtil;
import com.ce.sys.menu.dao.po.SysMenu;
import com.ce.util.DbUtil;
import com.ce.util.MenuUtil;
import com.ce.util.PermissUtil;
import com.ce.util.TreeNode;

/**
* 嫦娥软件有限公司 版权所有 2013
* 创建人：andy
* 创建日期：2013-7-30
* 创建时间：下午5:06:50
* 功能描述：在页面右上角显示参数配置按钮的标签，在此标签中会判断登录人员是否有指定菜单的配置权限
* 如果有权限，则显示配置按钮，点击按钮进入菜单所关联的字典项、注册表项及角色的配置界面
* ==============================================
* 修改历史
* 修改人		修改时间		修改原因
*
* ==============================================
*/
public class ConfTag extends TagSupport {
    
    private static final long serialVersionUID = 1L;
/**
 * 单独指定的菜单URL
 */
private String url;

    
    @Override
    public int doEndTag() throws JspException {
        HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
    	boolean showConf = request.getAttribute("SHOW_CONF")!=null;
        if(StringUtil.isBlank(url)){
        	url = request.getContextPath()+request.getAttribute("REQUEST_PATH");
        }
		String menuId = MenuUtil.getMenuId(url);
		if(StringUtil.isBlank(menuId)){
			menuId = (String) request.getAttribute("menuId");
		}
    	if(!showConf){
    		if(StringUtil.isNotBlank(menuId)){
    			showConf = StringUtil.isNotBlank(DbUtil.getFirstStringSqlQuery("select vc_memo from sys_t_menu t where t.vc_id=?",new Object[]{menuId}));
    		}
    	}
		if(showConf&&PermissUtil.isHavePermissByMenuId("conf", menuId)){
			StringBuffer buff = new StringBuffer();
			buff.append("<a id='args_conf' href='javascript:top.addTab(\"模块参数设置\",\"/mis/sys/conf/Config.action?menuId=")
			.append(menuId).append("\")' style='display:block;position:absolute;top:3px;right:4px;z-index:99999;'>设置</a><script>if($&&parent.$&&parent.$('#args_conf').length>0)$('#args_conf').hide();</script>");
			JspWriter out = pageContext.getOut();
		    try{
		    	out.println(buff.toString());	
		    out.flush();
			} catch (IOException ex) {
			}
		}
        return super.doEndTag();
    }


	public String getUrl() {
		return url;
	}


	public void setUrl(String url) {
		this.url = url;
	}

}
